using System;
using Newtonsoft.Json;
using System.Xml.Serialization;

namespace Essensoft.AspNetCore.Payment.Alipay.Domain
{
    /// <summary>
    /// InteligentPublishChannel Data Structure.
    /// </summary>
    [Serializable]
    public class InteligentPublishChannel : AlipayObject
    {
        /// <summary>
        /// 当type为MERCHANT_CROWD时，config需填入口令送的密码和图片，样例如下："config":"{\"PASSWORD\":\"口令送密码\",\"BACKGROUND_LOGO\":\"1T8Pp00AT7eo9NoAJkMR3AAAACMAAQEC\"}"
        /// </summary>
        [JsonProperty("config")]
        [XmlElement("config")]
        public string Config { get; set; }

        /// <summary>
        /// 扩展信息，无需配置
        /// </summary>
        [JsonProperty("ext_info")]
        [XmlElement("ext_info")]
        public string ExtInfo { get; set; }

        /// <summary>
        /// 渠道名称
        /// </summary>
        [JsonProperty("name")]
        [XmlElement("name")]
        public string Name { get; set; }

        /// <summary>
        /// 渠道类型，目前支持以下类型：  QR_CODE：二维码投放；  SHORT_LINK：短连接投放；  SHOP_DETAIL：店铺页投放；  PAYMENT_RESULT：支付成功页；  MERCHANT_CROWD：口令送；  URL_WITH_TOKEN：外部发奖活动，  只有活动类型为DIRECT_SEND时才支持；
        /// </summary>
        [JsonProperty("type")]
        [XmlElement("type")]
        public string Type { get; set; }
    }
}
